class PopupController < ApplicationController
  layout false
  def buscar
    opciones = params[:opciones]
    opciones[:conditions] ||= {}
    #logger.info "filter_#{opciones[:clase].downcase}"
    opciones[:conditions] = session["filter_#{opciones[:clase].downcase}"].merge(opciones[:conditions]) if session["filter_#{opciones[:clase].downcase}"]
    clase = opciones[:clase].constantize
    filtros={}
    filtros.merge!(:conditions => opciones[:conditions]) if opciones[:conditions]
    filtros.merge!(:joins => opciones[:joins].to_sym) if opciones[:joins]
    #logger.info "\n\n\n#{filtros.inspect}\n\n\n"
    @registros = clase.find(:all,filtros )
    filtros.delete(:joins)
    filtros.delete(:conditions)
    opciones[:or][:conditions].each { |k,v| opciones[:or][:conditions][k]=nil if opciones[:or][:conditions][k].empty?  }
    filtros.merge!(:conditions => opciones[:or][:conditions]) if (opciones[:or] and opciones[:or][:conditions])
    @registros+= clase.find(:all,filtros ) if (opciones[:or] and opciones[:or][:conditions])
    #@registros = clase.find(:all, :conditions => opciones[:conditions]).paginate :page => params[:page], :per_page => 5, :order => 'created_at DESC'
    @campos = opciones[:columnas]
    @id_nombre = opciones[:id_nombre]
    @id_hidden = opciones[:id_hidden]
  end
end
